const computedBehavior = require('miniprogram-computed').behavior

Page({
  behaviors: [computedBehavior],
  computed: {
    tips(data) {
      return data.a + data.b
    }
  },
  data: {
    a: 'hello',
    b: 'world',
    username: '',
    isLogin: false,
    msg: '赵飞炖了一下',
    arr: [1, 2, 3, 4, 5],
    students: [{
        id: 1,
        name: '小明',
        age: 18,
        gender: '男'
      },
      {
        id: 2,
        name: '小红',
        age: 17,
        gender: '女'
      },
      {
        id: 3,
        name: '小刚',
        age: 19,
        gender: '男'
      },
      {
        id: 4,
        name: '小丽',
        age: 18,
        gender: '女'
      },
      {
        id: 5,
        name: '小米',
        age: 19,
        gender: '女'
      },
    ],
    seen: true
  },
  toggle() {
    // 切换seen的zhi
    this.setData({
      seen: !this.data.seen
    })
  },
  getStudentsList() {
    // 调接口之前loading一下
    wx.showLoading({
      title: '正在加载...',
      mask: true
    })
    // 调用wx.request 发起请求
    wx.request({
      url: 'https://mock.boxuegu.com/mock/3293/students',
      method: 'GET',
      success: (res) => {
        console.log(res)
        // this指向在函数里已经变化了 箭头函数this指向上一层
        this.setData({
          students: res.data.result
        })
      },
      // complete无论成功还是失败都会执行
      complete() {
        // 隐藏loading
        wx.hideLoading()
      }


    })
  },
  submitForm() {
    // 定义一个正则 汉字并且2-5个
    const reg = /^[\u4e00-\u9fa5]{2,5}$/;
    // 验证结果
    const valid = reg.test(this.data.username.trim())
    // 提示一下验证结果
    if (!valid) {
      return wx.showToast({
        title: '姓名只能为2-5位的汉字',
        icon: 'none'
      })
    }

  },
  setStorage() {
    // 设置本地缓存
    wx.setStorageSync('name', '吴亦凡')
    // 存对象
    wx.setStorageSync('user', {
      name: '吴签',
      age: 13
    })
    wx.setStorage({
      key: 'token',
      data: 'dsfjkhadsfhsadkfkjdsa'
    })
  },
  removeStorage() {
    wx.removeStorageSync('name')
  },
  clearStorage() {
    wx.clearStorageSync()
  },
  getStorage() {
    // 取基本类型数据
    const name = wx.getStorageSync('name')
    console.log(name)
    // 存入的是复杂类型的话,可以直接取出
    const user = wx.getStorageSync('user')
    console.log(user)
    // 异步api
    wx.getStorage({
      key: 'token',
      success(res) {
        console.log('token:', res)
      }
    })

  },
  onLoad() {
    // 只会执行一次
    console.log('onLoad')
    this.getStudentsList()

  },
  onShow() {
    // 可以反复执行
    console.log('onSHow页面显示了')
    console.log("wx对象", wx)
  },
  onReady() {
    // 只会执行一次
    console.log('onReady初次渲染完成')
  },
  onHide() {
    // 可以反复执行
    console.log("onHide页面隐藏了")
  },
  onUnload() {
    console.log('onUnload首页要卸载了')
  }
})